﻿/****************************** Module Header ******************************\
 * Module Name:  IWebPagger.cs
 * Module Version:  1.0.0 (2012-8-23) 已废除,推荐使用WebPaginnation
 * Copyright (c) AnyEB.Com (14507247@qq.com)
 * 
 * This interface is used to rule the pagger class. It define the 
 * common method for the pagger class.
 * 
 * This source is subject to the GPL License.
 * See http://www.gnu.org/licenses/gpl.html.
 * All other rights reserved.
 * 
 * THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, 
 * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED 
 * WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
\***************************************************************************/
using System;
using System.Collections.Generic;

namespace UCF.Core.Web
{
    public interface IWebPagger : IPagger
    {
        /// <summary>
        /// 分页变量名称
        /// </summary>
        string PageVarName { get; set; }

        /// <summary>
        /// 获取分页条码列表
        /// </summary>
        /// <param name="length"></param>
        /// <param name="varname"></param>
        /// <returns></returns>
        Dictionary<int, string> GetPageIndexList(int length = 5, string varname = "page");

        /// <summary>
        /// 获取分页链接地址
        /// </summary>
        /// <param name="pageid"></param>
        /// <param name="varname"></param>
        /// <returns></returns>
        string GetPageLink(int pageid, string varname = "page");

        /// <summary>
        /// 获取演示分页条文本
        /// </summary>
        /// <param name="varname"></param>
        /// <returns></returns>
        string GetPaggerBarText(string varname = "page");

        /// <summary>
        /// 获取演示分页条码文本
        /// </summary>
        /// <param name="length"></param>
        /// <param name="varname"></param>
        /// <returns></returns>
        string GetPaggerIndexListText(int length = 5, string varname = "page");
    }
}
